package com.ssy.lingxi.workflow.service;

import com.ssy.lingxi.workflow.entity.ExternalTaskDefinition;
import com.ssy.lingxi.workflow.entity.InternalTaskDefinition;
import com.ssy.lingxi.workflow.model.constant.WorkflowStringEnum;

/**
 * 流程步骤名称国际化服务
 * @author 万宁
 * @version 2.0.0
 * @date 2022-02-22
 */
public interface IInternationalizeService {
    /**
     * 查询外部流程步骤名称
     * @param externalTaskDefinition 外部流程定义
     * @return 国际化翻译后的外部流程步骤名称
     */
    String findExternalTaskName(ExternalTaskDefinition externalTaskDefinition);

    /**
     * 查询内部流程步骤名称
     * @param internalTaskDefinition 内部流程定义
     * @return 国际化翻译后的内部流程步骤名称
     */
    String findInternalTaskName(InternalTaskDefinition internalTaskDefinition);

    /**
     * 查询流程步骤名称
     * @param processTaskName 流程图中的步骤名称
     * @return 国际化翻译后的流程步骤名称
     */
    String findTaskName(String processTaskName);

    /**
     * 查询工作流服务字符串常量国际化翻译
     * @param stringEnum 常量字符串枚举
     * @return 国际化翻译后的内容
     */
    String findMessage(WorkflowStringEnum stringEnum);
}
